package vos;

import java.sql.Date;


/**
 * Clase que representa un reserva o en su contrario una compra
 */
public class ReservasValues
{
	//-----------------------------------------------------------------
	// Atributos
	//-----------------------------------------------------------------
	
	/**
	 * El id de la reserva
	 */
	private int idReserva;
	
	/**
	 * El id del vuelo que reservo
	 */
	private int idVuelo;
	
	/**
	 * El login del cliente que reservo o compro
	 */
	private String loginCliente;
	
	/**
	 * La clase en el cual se compro
	 */
	private String clase;
	
	/**
	 * El numero de sillas que reservo
	 */
	private int numSillas;
	
	/**
	 * La fecha en la cual hizo la reserva
	 */
	private Date fecha;
	
	/**
	 * El estado en el cual se encuentra la reserva
	 */
	private boolean estado;
	
	/**
	 * El id del precio
	 */
	private int idPrecio;
	
	//-----------------------------------------------------------------
	// Constructor
	//-----------------------------------------------------------------
	
	/**
	 * Constructor por defecto que inicializa todos los atributos
	 * @param idReserva El id de la reserva
	 * @param idVuelo El id del vuelo
	 * @param loginCliente El login del cliente
	 * @param clase La clase en el cual se compro o se reservo
	 * @param numSillas El numero de sillas reservadas o compradas
	 * @param fecha La fecha de la reserva o compra
	 * @param estado El estado, true si esta comprada, false si esta reservada
	 * @param idPrecio El id del precio
	 */
	public ReservasValues( int idReserva, int idVuelo, String loginCliente, String clase, int numSillas, Date fecha, boolean estado, int idPrecio )
	{
		this.idReserva = idReserva;
		this.idVuelo = idVuelo;
		this.loginCliente = loginCliente;
		this.clase = clase;
		this.numSillas = numSillas;
		this.fecha = fecha;
		this.estado = estado;
		this.idPrecio = idPrecio;
	}
	
	//-----------------------------------------------------------------
	// Metodos
	//-----------------------------------------------------------------

	/**
	 * Retorna el id de la reserva
	 * @return idReserva
	 */
	public int getIdReserva( )
	{
		return idReserva;
	}

	/**
	 * Cambia el id de la reserva por la que viene por parametro
	 * @param idReserva El nuevo id de la reserva
	 */
	public void setIdReserva( int idReserva )
	{
		this.idReserva = idReserva;
	}

	/**
	 * Retorna el id del vuelo
	 * @return idVuelo
	 */
	public int getIdVuelo( )
	{
		return idVuelo;
	}

	/**
	 * Cambia el id del vuelo por el que viene por parametro
	 * @param idVuelo El nuevo id del vuelo
	 */
	public void setIdVuelo( int idVuelo )
	{
		this.idVuelo = idVuelo;
	}

	/**
	 * Retorna el login del cliente que hizo la reserva o compra
	 * @return loginCliente
	 */
	public String getLoginCliente( )
	{
		return loginCliente;
	}

	/**
	 * Cambia el login del cliente por el que viene por parametro
	 * @param loginCliente El nuevo cliente que hizo la reserva o compra
	 */
	public void setLoginCliente( String loginCliente )
	{
		this.loginCliente = loginCliente;
	}

	/**
	 * Retorna la clase de silla del avion
	 * @return clase 
	 */
	public String getClase( )
	{
		return clase;
	}

	/**
	 * Cambia la clase de silla del avion
	 * @param clase la nueva clase de silla
	 */
	public void setClase( String clase )
	{
		this.clase = clase;
	}

	/**
	 * Retorna en numero de sillas reservadas
	 * @return numSillas
	 */
	public int getNumSillas( )
	{
		return numSillas;
	}

	/**
	 * Cambia el numero de sillas a reservar por las que viene por parametro
	 * @param numSillas
	 */
	public void setNumSillas( int numSillas )
	{
		this.numSillas = numSillas;
	}

	/**
	 * Retorna la fecha en la cual se hizo la reserva
	 * @return fecha 
	 */
	public Date getFecha( )
	{
		return fecha;
	}

	/**
	 * Cambia la fecha de la reserva por la que viene por parametro
	 * @param fecha
	 */
	public void setFecha( Date fecha )
	{
		this.fecha = fecha;
	}

	/**
	 * Restorna el estado de la reserva
	 * @return estado True, si es comprada, False si es reservada
	 */
	public boolean isEstado( )
	{
		return estado;
	}

	/**
	 * Cambia el estado de la reserva
	 * @param estado El nuevo estado , true si es comprado
	 */
	public void setEstado( boolean estado )
	{
		this.estado = estado;
	}

	/**
	 * Retorna el id del precio de la reserva
	 * @return idPrecio
	 */
	public int getIdPrecio( )
	{
		return idPrecio;
	}

	/**
	 * Cambia el id del predio de la reserva por el que viene por parametro
	 * @param idPrecio El nuevo id de la reserva
	 */
	public void setIdPrecio( int idPrecio )
	{
		this.idPrecio = idPrecio;
	}
	
	public String toString()
	{
		return getIdReserva() + " - " + getIdVuelo() + " - " + getNumSillas() + " - " + getClase() + " - " + getFecha();
	}
}
